DMA is a technique that allows for hardware in a computer to access system memory independently of the system processor. Because the processor is not involved in the transfer of data, DMA is usually fast. DMA is very useful for example in real-time applications and for making backups. A few illustrative examples of hardware that use DMA circuits include sound cards, hard disk controllers and computer subsystems. Traditional DMA circuits have one or more physical channels where each physical channel is a point-to-point communication link connected from a source to a destination port. Although useful, the point-to-point links make the system inflexible and may limit the performance of the DMA for some applications. A need thus exists in the art for a DMA circuit that can help alleviate some of the problems found in prior art DMA circuits.